DigiOffice Gateway Web Services

<back to all web services

ProcessProjectRequestMessage

Requires Authentication
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports DigiOffice.Integration.TBIXchangeAzure.Messages
Imports IDB.API.DTO.Document

Namespace Global

    Namespace DigiOffice.Integration.TBIXchangeAzure.Messages

        Public Partial Class Address
            Public Overridable Property AddressLine1 As String
            Public Overridable Property AddressLine2 As String
            Public Overridable Property HouseNumber As String
            Public Overridable Property HouseNumberSuffix As String
            Public Overridable Property PostalCode As String
            Public Overridable Property City As String
            Public Overridable Property Country As Reference
        End Class

        Public Partial Class ConstructionBlock
            Public Sub New()
                CustomFields = New CustomField(){}
            End Sub

            Public Overridable Property GlobalID As String
            Public Overridable Property ProjectReference As Reference
            Public Overridable Property Code As String
            Public Overridable Property Description As String
            Public Overridable Property CustomFields As CustomField()
            Public Overridable Property CreationDate As Nullable(Of Date)
            Public Overridable Property CreatedBy As String
            Public Overridable Property ModifiedDate As Nullable(Of Date)
            Public Overridable Property ModifiedBy As String
        End Class

        Public Partial Class ConstructionNumber
            Public Sub New()
                CustomFields = New CustomField(){}
            End Sub

            Public Overridable Property GlobalID As String
            Public Overridable Property ProjectReference As Reference
            Public Overridable Property HousingTypeReference As Reference
            Public Overridable Property ConstructionBlockReference As Reference
            Public Overridable Property Code As String
            Public Overridable Property Description As String
            Public Overridable Property Address As Address
            Public Overridable Property RentalHouse As Boolean
            Public Overridable Property GuaranteeCertificateNumber As String
            Public Overridable Property Inactive As Boolean
            Public Overridable Property CustomFields As CustomField()
            Public Overridable Property CreationDate As Nullable(Of Date)
            Public Overridable Property CreatedBy As String
            Public Overridable Property ModifiedDate As Nullable(Of Date)
            Public Overridable Property ModifiedBy As String
            Public Overridable Property ViewingDate As Nullable(Of Date)
            Public Overridable Property ViewingDateSpecified As Boolean
            Public Overridable Property DeliveryDate As Nullable(Of Date)
            Public Overridable Property DeliveryDateSpecified As Boolean
        End Class

        Public Partial Class CustomField
            Public Overridable Property Name As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class Header
            Public Overridable Property MessageID As String
            Public Overridable Property Timestamp As Date
            Public Overridable Property Sender As Party
            Public Overridable Property Recipient As Party
            Public Overridable Property RequestMessageID As Object

            Public Partial Class Party
                Public Overridable Property Title As String
                Public Overridable Property Code As String
                Public Overridable Property Version As String
                Public Overridable Property Environment As Environment
            End Class

            Public Partial Class Environment
                Public Overridable Property Title As String
                Public Overridable Property Code As String
            End Class
        End Class

        Public Partial Class HousingType
            Public Sub New()
                CustomFields = New CustomField(){}
            End Sub

            Public Overridable Property GlobalID As String
            Public Overridable Property ProjectReference As Reference
            Public Overridable Property Code As String
            Public Overridable Property Description As String
            Public Overridable Property CustomFields As CustomField()
            Public Overridable Property CreationDate As Nullable(Of Date)
            Public Overridable Property CreatedBy As String
            Public Overridable Property ModifiedDate As Nullable(Of Date)
            Public Overridable Property ModifiedBy As String
        End Class

        Public Partial Class MailingAddress
            Public Overridable Property POBox As String
            Public Overridable Property PostalCode As String
            Public Overridable Property City As String
            Public Overridable Property Country As Reference
        End Class

        Public Partial Class ProcessProjectRequestMessage
            Public Overridable Property InstanceId As Guid
            Public Overridable Property ProjectRequest As ProjectRequestMessage
        End Class

        Public Partial Class Project
            Public Sub New()
                CustomFields = New CustomField(){}
            End Sub

            Public Overridable Property GlobalID As String
            Public Overridable Property CreationDate As Nullable(Of Date)
            Public Overridable Property CreatedBy As String
            Public Overridable Property ModifiedDate As Nullable(Of Date)
            Public Overridable Property ModifiedBy As String
            Public Overridable Property Code As String
            Public Overridable Property Name As String
            Public Overridable Property Description1 As String
            Public Overridable Property Description2 As String
            Public Overridable Property Address As Address
            Public Overridable Property MailingAddress As MailingAddress
            Public Overridable Property ProjectCategoryReference As Reference
            Public Overridable Property ProjectTypeReference As Reference
            Public Overridable Property ProjectStatusReference As Reference
            Public Overridable Property StartDate As Nullable(Of Date)
            Public Overridable Property EndDate As Nullable(Of Date)
            Public Overridable Property CompletionDate As Nullable(Of Date)
            Public Overridable Property Inactive As Boolean
            Public Overridable Property Website As String
            Public Overridable Property IsTemplateProject As Boolean
            Public Overridable Property CustomFields As CustomField()
        End Class

        Public Partial Class ProjectRequestMessage
            Public Overridable Property Header As Header
            Public Overridable Property ProjectReference As Reference
            Public Overridable Property IncludeHousingTypes As Boolean
            Public Overridable Property IncludeConstructionBlocks As Boolean
            Public Overridable Property IncludeConstructionNumbers As Boolean
            Public Overridable Property IncludeDocuments As Boolean
            Public Overridable Property IncludePurchaseContracts As Boolean
        End Class

        Public Partial Class ProjectResponseMessage
            Public Sub New()
                HousingTypes = New HousingType(){}
                ConstructionBlocks = New ConstructionBlock(){}
                ConstructionNumbers = New ConstructionNumber(){}
                Documents = New Document(){}
                PurchaseContracts = New PurchaseContract(){}
            End Sub

            Public Overridable Property Header As Header
            Public Overridable Property ProjectReference As Reference
            Public Overridable Property Project As Project
            Public Overridable Property HousingTypes As HousingType()
            Public Overridable Property ConstructionBlocks As ConstructionBlock()
            Public Overridable Property ConstructionNumbers As ConstructionNumber()
            Public Overridable Property Documents As Document()
            Public Overridable Property PurchaseContracts As PurchaseContract()
        End Class

        Public Partial Class PurchaseContract
            Public Sub New()
                CustomFields = New CustomField(){}
            End Sub

            Public Overridable Property GlobalID As String
            Public Overridable Property Code As String
            Public Overridable Property Description As String
            Public Overridable Property ProjectReference As Reference
            Public Overridable Property ProductCode As String
            Public Overridable Property Relation As Relation
            Public Overridable Property Inactive As Boolean
            Public Overridable Property CustomFields As CustomField()
            Public Overridable Property CreationDate As Nullable(Of Date)
            Public Overridable Property CreatedBy As String
            Public Overridable Property ModifiedDate As Nullable(Of Date)
            Public Overridable Property ModifiedBy As String
        End Class

        Public Partial Class Reference
            Public Overridable Property GlobalID As String
            Public Overridable Property Title As String
        End Class

        Public Partial Class Relation
            Public Sub New()
                CustomFields = New CustomField(){}
            End Sub

            Public Overridable Property GlobalID As String
            Public Overridable Property NameLine1 As String
            Public Overridable Property NameLine2 As String
            Public Overridable Property Address As Address
            Public Overridable Property MailingAddress As MailingAddress
            Public Overridable Property Telephone As String
            Public Overridable Property Mobile As String
            Public Overridable Property Email As String
            Public Overridable Property IBAN As String
            Public Overridable Property BankAccountNumber As String
            Public Overridable Property Website As String
            Public Overridable Property Inactive As Boolean
            Public Overridable Property CustomFields As CustomField()
            Public Overridable Property CreationDate As Nullable(Of Date)
            Public Overridable Property CreatedBy As String
            Public Overridable Property ModifiedDate As Nullable(Of Date)
            Public Overridable Property ModifiedBy As String
        End Class
    End Namespace

    Namespace IDB.API.DTO.Document

        Public Partial Class Document
            Implements ICustomProperties
            Public Sub New()
                CustomProperties = New Dictionary(Of String, Object)
            End Sub

            Public Overridable Property ID As Guid
            Public Overridable Property RootDocumentID As Guid
            Public Overridable Property RegistrationprofileID As Guid
            Public Overridable Property Title As String
            Public Overridable Property FullTitle As String
            Public Overridable Property Number As String
            Public Overridable Property Version As String
            Public Overridable Property ExternalNumber As String
            Public Overridable Property ExternalVersion As String
            Public Overridable Property InternalNumber As String
            Public Overridable Property InternalInvoiceNumber As String
            Public Overridable Property PersonID As Integer
            Public Overridable Property RelationID As Integer
            Public Overridable Property RelationTitle As String
            Public Overridable Property ProjectID As Integer
            Public Overridable Property ProjectTitle As String
            Public Overridable Property Extension As String
            Public Overridable Property [Date] As Nullable(Of Date)
            Public Overridable Property CommentsCount As Integer
            Public Overridable Property HasComments As Boolean
            Public Overridable Property HasPreview As Boolean
            Public Overridable Property ExtraField As String
            Public Overridable Property IsFavorite As Boolean
            Public Overridable Property DocumentcategoryText As String
            Public Overridable Property FileSize As Nullable(Of Long)
            Public Overridable Property FileDate As Nullable(Of Date)
            Public Overridable Property Hash As String
            Public Overridable Property HashType As String
            Public Overridable Property FileUrl As String
            Public Overridable Property StandardDocumentUrl As String
            Public Overridable Property IsCorporateIdentity As Boolean
            Public Overridable Property UserTitle As String
            Public Overridable Property IsFrozen As Boolean
            Public Overridable Property InternalCompanyID As Integer
            Public Overridable Property DirectUrl As String
            Public Overridable Property AllowDigitalSigningOnlyOnPrimaryVersions As Boolean
            Public Overridable Property IsPrimaryVersion As Boolean
            Public Overridable Property FileExtension As String
            Public Overridable Property CustomProperties As Dictionary(Of String, Object)
        End Class
    End Namespace
End Namespace

VB.NET ProcessProjectRequestMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/ProcessProjectRequestMessage HTTP/1.1 
Host: kpm_digiofficeapigateway.tbi.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ProcessProjectRequestMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
  <InstanceId>00000000-0000-0000-0000-000000000000</InstanceId>
  <ProjectRequest>
    <Header>
      <MessageID>String</MessageID>
      <Recipient>
        <Code>String</Code>
        <Environment>
          <Code>String</Code>
          <Title>String</Title>
        </Environment>
        <Title>String</Title>
        <Version>String</Version>
      </Recipient>
      <RequestMessageID />
      <Sender>
        <Code>String</Code>
        <Environment>
          <Code>String</Code>
          <Title>String</Title>
        </Environment>
        <Title>String</Title>
        <Version>String</Version>
      </Sender>
      <Timestamp>0001-01-01T00:00:00</Timestamp>
    </Header>
    <IncludeConstructionBlocks>false</IncludeConstructionBlocks>
    <IncludeConstructionNumbers>false</IncludeConstructionNumbers>
    <IncludeDocuments>false</IncludeDocuments>
    <IncludeHousingTypes>false</IncludeHousingTypes>
    <IncludePurchaseContracts>false</IncludePurchaseContracts>
    <ProjectReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectReference>
  </ProjectRequest>
</ProcessProjectRequestMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ProjectResponseMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
  <ConstructionBlocks>
    <ConstructionBlock>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
    </ConstructionBlock>
  </ConstructionBlocks>
  <ConstructionNumbers>
    <ConstructionNumber>
      <Address>
        <AddressLine1>String</AddressLine1>
        <AddressLine2>String</AddressLine2>
        <City>String</City>
        <Country>
          <GlobalID>String</GlobalID>
          <Title>String</Title>
        </Country>
        <HouseNumber>String</HouseNumber>
        <HouseNumberSuffix>String</HouseNumberSuffix>
        <PostalCode>String</PostalCode>
      </Address>
      <Code>String</Code>
      <ConstructionBlockReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionBlockReference>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
      <DeliveryDateSpecified>false</DeliveryDateSpecified>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <GuaranteeCertificateNumber>String</GuaranteeCertificateNumber>
      <HousingTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </HousingTypeReference>
      <Inactive>false</Inactive>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <RentalHouse>false</RentalHouse>
      <ViewingDate>0001-01-01T00:00:00</ViewingDate>
      <ViewingDateSpecified>false</ViewingDateSpecified>
    </ConstructionNumber>
  </ConstructionNumbers>
  <Documents>
    <Document>
      <Code>String</Code>
      <ConstructionBlockReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionBlockReference>
      <ConstructionNumberReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ConstructionNumberReference>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <DeletedDate>0001-01-01T00:00:00</DeletedDate>
      <DeletedDateSpecified>false</DeletedDateSpecified>
      <DocumentTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </DocumentTypeReference>
      <File>
        <Content>String</Content>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <Name>String</Name>
        <Size>0</Size>
        <Type>String</Type>
      </File>
      <Floor>0</Floor>
      <FloorSpecified>false</FloorSpecified>
      <GlobalID>String</GlobalID>
      <HousingTypeReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </HousingTypeReference>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <NewestVersion>false</NewestVersion>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <RelationReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </RelationReference>
      <RootDocumentID>String</RootDocumentID>
      <Subject>String</Subject>
      <VersionNumber>String</VersionNumber>
    </Document>
  </Documents>
  <Header>
    <MessageID>String</MessageID>
    <Recipient>
      <Code>String</Code>
      <Environment>
        <Code>String</Code>
        <Title>String</Title>
      </Environment>
      <Title>String</Title>
      <Version>String</Version>
    </Recipient>
    <RequestMessageID />
    <Sender>
      <Code>String</Code>
      <Environment>
        <Code>String</Code>
        <Title>String</Title>
      </Environment>
      <Title>String</Title>
      <Version>String</Version>
    </Sender>
    <Timestamp>0001-01-01T00:00:00</Timestamp>
  </Header>
  <HousingTypes>
    <HousingType>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
    </HousingType>
  </HousingTypes>
  <Project>
    <Address>
      <AddressLine1>String</AddressLine1>
      <AddressLine2>String</AddressLine2>
      <City>String</City>
      <Country>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </Country>
      <HouseNumber>String</HouseNumber>
      <HouseNumberSuffix>String</HouseNumberSuffix>
      <PostalCode>String</PostalCode>
    </Address>
    <Code>String</Code>
    <CompletionDate>0001-01-01T00:00:00</CompletionDate>
    <CreatedBy>String</CreatedBy>
    <CreationDate>0001-01-01T00:00:00</CreationDate>
    <CustomFields>
      <CustomField>
        <Name>String</Name>
        <Value>String</Value>
      </CustomField>
    </CustomFields>
    <Description1>String</Description1>
    <Description2>String</Description2>
    <EndDate>0001-01-01T00:00:00</EndDate>
    <GlobalID>String</GlobalID>
    <Inactive>false</Inactive>
    <IsTemplateProject>false</IsTemplateProject>
    <MailingAddress>
      <City>String</City>
      <Country>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </Country>
      <POBox>String</POBox>
      <PostalCode>String</PostalCode>
    </MailingAddress>
    <ModifiedBy>String</ModifiedBy>
    <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
    <Name>String</Name>
    <ProjectCategoryReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectCategoryReference>
    <ProjectStatusReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectStatusReference>
    <ProjectTypeReference>
      <GlobalID>String</GlobalID>
      <Title>String</Title>
    </ProjectTypeReference>
    <StartDate>0001-01-01T00:00:00</StartDate>
    <Website>String</Website>
  </Project>
  <ProjectReference>
    <GlobalID>String</GlobalID>
    <Title>String</Title>
  </ProjectReference>
  <PurchaseContracts>
    <PurchaseContract>
      <Code>String</Code>
      <CreatedBy>String</CreatedBy>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <CustomFields>
        <CustomField>
          <Name>String</Name>
          <Value>String</Value>
        </CustomField>
      </CustomFields>
      <Description>String</Description>
      <GlobalID>String</GlobalID>
      <Inactive>false</Inactive>
      <ModifiedBy>String</ModifiedBy>
      <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
      <ProductCode>String</ProductCode>
      <ProjectReference>
        <GlobalID>String</GlobalID>
        <Title>String</Title>
      </ProjectReference>
      <Relation>
        <Address>
          <AddressLine1>String</AddressLine1>
          <AddressLine2>String</AddressLine2>
          <City>String</City>
          <Country>
            <GlobalID>String</GlobalID>
            <Title>String</Title>
          </Country>
          <HouseNumber>String</HouseNumber>
          <HouseNumberSuffix>String</HouseNumberSuffix>
          <PostalCode>String</PostalCode>
        </Address>
        <BankAccountNumber>String</BankAccountNumber>
        <CreatedBy>String</CreatedBy>
        <CreationDate>0001-01-01T00:00:00</CreationDate>
        <CustomFields>
          <CustomField>
            <Name>String</Name>
            <Value>String</Value>
          </CustomField>
        </CustomFields>
        <Email>String</Email>
        <GlobalID>String</GlobalID>
        <IBAN>String</IBAN>
        <Inactive>false</Inactive>
        <MailingAddress>
          <City>String</City>
          <Country>
            <GlobalID>String</GlobalID>
            <Title>String</Title>
          </Country>
          <POBox>String</POBox>
          <PostalCode>String</PostalCode>
        </MailingAddress>
        <Mobile>String</Mobile>
        <ModifiedBy>String</ModifiedBy>
        <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
        <NameLine1>String</NameLine1>
        <NameLine2>String</NameLine2>
        <Telephone>String</Telephone>
        <Website>String</Website>
      </Relation>
    </PurchaseContract>
  </PurchaseContracts>
</ProjectResponseMessage>